Wireless networks which were originally designed for wireless telephone services are being adapted for wireless data services as well. The wireless networks are adapted for wireless data services by linking the wireless network to the preexisting wired data network. Wireless packet data protocols such as General Packet Radio Service (GPRS) and EDGE were developed to facilitate the transmission of data packets over the wireless network.
The most common wired data network is the Internet. Data is transmitted over the Internet using data packets. The data packets are sent from a sender to a recipient over a number of network connections between the sender and recipient. Unlike a switched network, no dedicated connection between the sender and recipient is established. In contrast, the packets are sent from the sender with an address associated with the recipient, such as an Internet Protocol address (IP address) over any one of a number of available paths which are formed between the sender and recipient over the internet.
Due to the lack of a dedicated path between the recipient and the sender, the requisite time of transmission can vary from packet to packet. Additionally, during periods of high congestion, data packets can also be lost. The foregoing considerations necessitate a means of providing the sender with a confirmation that the transmitted data packets are received. The Transmission Control Protocol (TCP) provides for the user of acknowledgement messages between the recipient and the sender, responsive to receipt of a data packet.
TCP initially causes the transmission rate to ramp-up in a sliding window at the beginning of a packet flow, which includes the slow-start mode and the congestion avoidance mode. The rate is continuously increased until there is a loss or time-out of the packet receipt acknowledgement message. TCP then “backs off”, decreasing the transmission window size, and then retransmits the lost packets in the proper order at a significantly lower rate. TCP will then slowly increase the transmission rate in a linear fashion, which is called the congestion-avoidance mode. TCP assumes that packet losses are due to congestion and implements “congestion avoidance” at the source of the information.
As noted above, TCP assumes that lost packets are due to network congestion. In wired networks, which are characterized by low bit error rates, the assumption is accurate. However, wireless networks are characterized by comparatively higher bit error rates, limited bandwidth, radio interference, and intermittent hand-offs cause more packet losses. The assumption that all packet losses are due to congestion becomes inaccurate.
In the presence of the high bit error rates and intermittent connectivity characteristic of wireless links, TCP reacts to packet losses in the same manner as in the wired environment. The transmission window size is lowered before retransmitting packets and congestion control and avoidance mechanisms are invoked. The foregoing measures result in an unnecessary reduction in the wireless link's bandwidth utilization, thereby causing a significant degradation in performance in the form of poor throughput and very high interactive delays.
Additionally, modifications to the TCP protocol are often unfeasible because of the necessary changes that would have to be made to the preexisting wired network.
Accordingly, it would be desirable to alleviate the bandwidth utilization performance degradation brought on by TCP congestion control and avoidance mechanisms in response to lost data packets over wireless links in a seamless manner with minimal modifications to the preexisting infrastructure.